Characterization of Repeating Dynamic Code Fragments
نویسندگان
چکیده
For this study, we analyze the dynamic instruction streams of the SPEC2000 integer benchmarks to find frequently occurring units of computation, or idioms. An idiom, in the broadest sense, is an interdependent piece of a computation dataflow. For example, a load-add-store idiom performs an increment operation through a set of three interdependent instructions. Using a heuristic technique that performs an exhaustive analysis on selected regions of an application’s instruction stream, we are able to derive a small set of idioms each consisting of between three and eight Alpha instructions, where the set covers a non-trivial fraction of the overall stream. On the average benchmark, a set consisting of ten idioms (50 total instructions) spans over 26% of the instruction stream. We provide a catalog of the top idiom occurring in each of the benchmarks. This catalog provides interesting insights into the type of small-scale computations that are frequent in general code. For each idiom, we identify the locations in the source code from which it originates. Many idioms occur in multiple static locations. We outline some potential applications for such idioms, including techniques for cache compression, more effective instruction dispersal in a clustered architecture, and specialized instructions for a customizable instruction set. We more deeply investigate an application that can reduce some redundancy in trace caches and potentially boost fetch bandwidth by a careful and systematic encoding of frequent idioms into smaller instruction words. We demonstrate that a simple decoder suffices to reconstitute the instruction stream.
منابع مشابه
DynJava: Type Safe Dynamic Code Generation in Java
Dynamic code generation is a technique that generates and executes fragments of executable code during the run-time of an program to reduce the execution time of programs. However, most of currently available dynamic code generation systems have weakness on high-level language support for describing dynamic code fragment. Especially, safety of dynamic composition of code fragments is not suffic...
متن کاملA Module Calculus with Dynamic Type-Checking
We present a simple module calculus modeling reconfiguration of code in an open environment, where some software fragments can be provided from the outside and combined with others after execution has started. Software fragments and their composition are modeled as in previous module calculi; here, we focus on the new problems posed by the fact that code fragments are not all available at compi...
متن کاملAdding Dynamic Types to C#
Developers using statically typed languages such as C and Java increasingly have to interoperate with APIs and object models defined in dynamic languages. This impedance mismatch results in code that is difficult to understand, awkward to analyze, and expensive to maintain. In this paper we describe new features in C4.0 that support the safe combination of dynamically and statically typed code ...
متن کاملRibosomal RNA Genes of Saccharomyces cerevisiae I. PHYSICAL MAP OF THE REPEATING UNIT AND LOCATION OF THE REGIONS
The organization of the ribosomal DNA repeating unit from Saccharomyces cerevisiae has been analyzed. A cloned ribosomal DNA repeating unit has been mapped with the restriction enzymes Xma I, Kpn I, HindIII, Xba I, BgZ I + II, and EcoRI. The locations of the sequences which code for 5 S, 5.8 S, 18 S, and 25 S ribosomal RNAs have been determined by hybridization of the purified RNA species with ...
متن کاملRibosomal RNA genes of Saccharomyces cerevisiae. I. Physical map of the repeating unit and location of the regions coding for 5 S, 5.8 S, 18 S, and 25 S ribosomal RNAs.
The organization of the ribosomal DNA repeating unit from Saccharomyces cerevisiae has been analyzed. A cloned ribosomal DNA repeating unit has been mapped with the restriction enzymes Xma 1, Kpn 1, HindIII, Xba 1, Bgl I + II, and EcoRI. The locations of the sequences which code for 5 S, 5.8 S, 18 S, and 25 S ribosomal RNAs have been determined by hybridization of the purified RNA species with ...
متن کامل